home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / pmode / qfml11 / readme.doc < prev    next >
Text File  |  1995-03-06  |  5KB  |  117 lines

  1.                                 QFML V1.11
  2.  
  3.         Quick Flat Memory Lite: A flat-real mode memory manager.
  4.  
  5.         (C)opyrights 1995 RENDER of ACC TEAM
  6.  
  7.     ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  8.         The first version (1.10) of this program was first uploaded to
  9.     oak.oakland.edu during January of 1995 and was retired inmediatly
  10.     due to some bugs encountered in the error routines and the A20
  11.     enable routine. I have seen a copy of that early version in
  12.     teeri.oulu.fi and this version (1.11) is meant to replace the
  13.     earlier.
  14.     ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  15.  
  16.         After trying many DOS extenders I decided to program this one.
  17.     All the extenders I have seen have limitations like not running
  18.     without himem or restricting the 4Gb offsets to one segment register.
  19.  
  20.     QFM has these advantatges:
  21.  
  22.                 - Flat-mode (4Gb linear memory locations)
  23.                 - Real-mode (No speed loss)
  24.                 - Full MsDos compatible
  25.                 - Work with or without himem
  26.                 - Can be used under C (I have used Borlandc 3.1)
  27.                 - Works with segments es,fs,gs and ds.
  28.  
  29.         In order to use QFM you must ensure that the processor is not
  30.     already running under protected mode. This is because QFM does not
  31.     support DPMI or QEMM so it can stay in real mode.  If it stayed
  32.     under DPMI it would be slower, because protected mode does some
  33.     extra work which you may not need. If QFM encounters this problem
  34.     it will print a message and return an error value.
  35.  
  36.         Using QFM is simplicity itself:
  37.  
  38.                 - Start QFM:
  39.  
  40.                         StartPL()
  41.  
  42.                 - Open all free mem. after first Mgb:
  43.  
  44.                         OpenMem()
  45.  
  46.                 - Get the starting adress of that block:
  47.  
  48.                         p=GiveSta()
  49.  
  50.                 - Now you can address from postion 0 to 4Gb just by
  51.                   setting one of the segments registers(gs,ds,es,fs)
  52.                   to 0 and using a 32-bit offset (EDI,ESI,EBX,etc..)
  53.  
  54.                 - End your code with CloseMem() and LeavePL()
  55.  
  56.  
  57.         For a detailed explanation on functions, please refer to
  58.     qfml11.h, examples1.cpp and example2.cpp.
  59.  
  60.     HOW TO INCLUDE IT:
  61.  
  62.         If you are coding C follow these instructions: (Borlandc 3.1)
  63.  
  64.                 - Make a project including your files and
  65.                 QFML.OBJ. A good starting point would be to make one
  66.                 from example1.prj or example2.prj. Notice that
  67.                 if QFML.OBJ does not include debug information.
  68.  
  69.                 - Use a program like prj2mak to get the make file
  70.                 and modify the line which states TLINK [options],
  71.                 adding the parameter /3 in the options.
  72.  
  73.                 - Now you can use MAKE to compile. Notice that
  74.                 you cannot compile within the IDE as the integrated
  75.                 linker will not allow you to link 32-bit code.
  76.  
  77.                 - You can still use Turbo debbuger to debug your
  78.                 programs.
  79.  
  80.         One important point: You MUST compile with models MEDIUM,LARGE
  81.     or HUGE, because the code of QFML must be in a far segment.
  82.     QFML was assembled using:
  83.  
  84.         TASM /m2 /zn /z /w2 /ml qfml.asm
  85.  
  86.         Parameter ml makes case sensitive function names.
  87.  
  88.         The best C envirorment would be a programer editor like ME or
  89.     Qedit and invoke make from there. You should keep in mind that the
  90.     editor must run in real mode.
  91.  
  92.         You cannot execute within the IDE as it runs under protected mode,
  93.     but you can debug it with TURBODEBBUGER.
  94.  
  95.     UNREGISTERED VERSION:
  96.  
  97.         The unregistered version allows a maximum of 256 K. and has
  98.     a delay in the StartPL function which may not appear in some cases.
  99.     IT CAN BE FREELY DISTRIBUTED TO ANYONE INTERESTED WITH NO CHARGE,
  100.     BUT IT MUST BE COPIED IN ITS COMPLETE FORM.  The registered
  101.     version gets all memory available, no delay and some options like
  102.     non-echo. Depending on response or special enquire I may give a
  103.     Pascal and assembly interface.To register send 1000 Pts. or 5 pounds to:
  104.  
  105.                 Mickel Bernal Herzog
  106.                 Pascual Orozco 13, Entresuelo A
  107.                 03006. ALICANTE
  108.                   SPAIN
  109.  
  110.         You'll get the complete version and some more examples.
  111.  
  112.         For more information e-mail me at:
  113.                  a00458@DTIC.ua.es
  114.                  ( Please include your e-mail at the bottom of message )
  115.  
  116.                  RENDER   (Guillermo Alejandro Collada Ali) 1995
  117.